rmotr


Rapport sur l'accidentalité en france

Source: Ministère de l'intérieur sur data.gouv.fr


1. Lecture des données

====== 958469 lignes importées à partir des fichiers de caracteristiques
====== 958469 lignes importées à partir des fichiers de lieux
====== 2142195 lignes importées à partir des fichiers de usagers
====== Jointure des dataframe caracteristiques, lieux et usagers
====== Taille du dataframe résultant : 2142195 

2. Nettoyage des données

Supression des colonnes non utilisées

Pour notre analyse, nous ne nous interesserons pas aux données de localisation exacte de l'accident no au vehicule impliqué dans ces derniers. Nous supprimons alors les colonnes relatives à ces information

Mise en forme des dates et calcule des ages

Out[6]:
age Date
0 49.0 2017-01-11 18:20:00
1 44.0 2017-01-11 18:20:00
2 50.0 2017-01-11 18:20:00
3 64.0 2017-02-13 16:30:00
4 57.0 2017-02-13 16:30:00

Modification des types de données et renomage des colonnes

Out[8]:
AccidentID Lumiere Localisation Intersection Méteo TypeColision Route voie v1 v2 ... UsagerType Gravite Sexe trajet secu locp actp etatp Date age
0 201700000001 5 2 1 1.0 1.0 3.0 39 NaN NaN ... 1 3 1 9.0 13.0 0.0 0.0 0.0 2017-01-11 18:20:00 49.0
1 201700000001 5 2 1 1.0 1.0 3.0 39 NaN NaN ... 2 3 2 9.0 11.0 0.0 0.0 0.0 2017-01-11 18:20:00 44.0
2 201700000001 5 2 1 1.0 1.0 3.0 39 NaN NaN ... 1 3 1 1.0 13.0 0.0 0.0 0.0 2017-01-11 18:20:00 50.0

3 rows × 34 columns

Visualisation des valeurs null

Out[9]:
<AxesSubplot:>

à retenir

  • Plusieurs colonnes ont un nombre important de valeurs manquantes (v1, v2, pr, pr1), d'autres colonnes ont un petit manque de valeurs mais il semble plus interessant de les garder. Il faudra faire de l'imputation pour les utiliser par la suite.
  • Notre analyse se concentrera beaucoup plus sur les usagers sans distinction de leur type (Passager, conducteurs...). Les colonnes locp, actp et etatp qui ne concernent que les piètons seront par concéquent écartés de l'ananlyse.
  • Les colonnes lartpc et larrout ont un bon nombre de valeurs manquantes et il est difficile de comprendre leur signification. il est décidé de ne pas les garder pour la suite de l'analyse

Supression des colonnes non retenues pour l'analyse et imputation des données

On remplace les valeurs manquantes numeriques par la moyenne calculée sur tout les enregistrements et les valeurs catégorique par la catégorie la plus observée dans nos données.

Aperçu des données

Out[14]:
AccidentID Lumiere Localisation Intersection Méteo TypeColision Route Circulation profil Tracé Surface Infrastructure situation UsagerType Gravite Sexe trajet secu Date age
0 201700000001 5 2 1 1 1 3 2 1 1 1 0 1 1 3 1 9 13 2017-01-11 18:20:00 49
1 201700000001 5 2 1 1 1 3 2 1 1 1 0 1 2 3 2 9 11 2017-01-11 18:20:00 44
2 201700000001 5 2 1 1 1 3 2 1 1 1 0 1 1 3 1 1 13 2017-01-11 18:20:00 50

3. Exploration des données

3.1 Exploration basé sur les personnes impliquées

020406080100010k20k30k40k50k
ConducteurPassagerPiétonDistribution des usagers selon l'age et la catègorie d'usager
Equipment présentEquipment absentNon déterminé020406080100
BlesséHospitaliséTuéIndemneRelation entre l'utilisation d'un équipement et la gravité de l'accidentPercentage

3.2 Exploration de l'environnement de l'accident

InconnueUniqueBidirectionnelleSéparéesVariable0200k400k600k
AutorouteNationaleDépartmentaleCommunaleHors réseauParkingAutreDistricution des accidents selon le type de voie
Plein jourCrépusculeSans éclairage00.5M1M
NormalePluie légèrePluie forteNeige - grêleBrouillard - fuméeDistricution des accidents selon le type de voie

3.3 Exploration temporelle

c:\python\lib\site-packages\plotly\graph_objs\_deprecations.py:378: DeprecationWarning:

plotly.graph_objs.Line is deprecated.
Please replace it with one of the following more specific types
  - plotly.graph_objs.scatter.Line
  - plotly.graph_objs.layout.shape.Line
  - etc.


2006200820102012201420162018140k160k180k200k
Accidents en france depuis 2005 (Par année)
Out[22]:
Mois count
0 2005-01 16403
1 2005-02 12782
2 2005-03 14792
3 2005-04 14892
4 2005-05 17792
... ... ...
163 2018-08 10096
164 2018-09 12456
165 2018-10 12678
166 2018-11 10856
167 2018-12 10631

168 rows × 2 columns

c:\python\lib\site-packages\plotly\graph_objs\_deprecations.py:378: DeprecationWarning:

plotly.graph_objs.Line is deprecated.
Please replace it with one of the following more specific types
  - plotly.graph_objs.scatter.Line
  - plotly.graph_objs.layout.shape.Line
  - etc.


20062008201020122014201620188k10k12k14k16k18k
Accidents en france depuis 2005 (Par mois)
Out[24]:
Jour count
0 2005-01-01 465
1 2005-01-02 416
2 2005-01-03 534
3 2005-01-04 612
4 2005-01-05 613
... ... ...
5108 2018-12-27 250
5109 2018-12-28 276
5110 2018-12-29 268
5111 2018-12-30 210
5112 2018-12-31 209

5113 rows × 2 columns

c:\python\lib\site-packages\plotly\graph_objs\_deprecations.py:378: DeprecationWarning:

plotly.graph_objs.Line is deprecated.
Please replace it with one of the following more specific types
  - plotly.graph_objs.scatter.Line
  - plotly.graph_objs.layout.shape.Line
  - etc.


2006200820102012201420162018200400600800
Accidents en france depuis 2005 (Par jour)

4. Analyse prédictive

4.1 Prédiction du nombre d'accidents an Rhone alpes

c:\python\lib\site-packages\plotly\graph_objs\_deprecations.py:378: DeprecationWarning:

plotly.graph_objs.Line is deprecated.
Please replace it with one of the following more specific types
  - plotly.graph_objs.scatter.Line
  - plotly.graph_objs.layout.shape.Line
  - etc.


2006200820102012201420162018100150200250
Accidents dans le département du Rhone depuis 2005

Modèle bayésien naif pour la prévision du nombre d'accodents

Modèle ARIMA

c:\python\lib\site-packages\statsmodels\base\model.py:567: ConvergenceWarning:

Maximum Likelihood optimization failed to converge. Check mle_retvals

2006200820102012201420162018−0.2−0.100.10.20.3
RéelModéleComparaison du modèle ARIMA au données réels
200620082010201220142016201810k15k20k25k
RéelModéleComparaison du modèle ARIMA au données réels
Out[38]:

4.2 Prédiction du type d'accident

En utilisant les colonnes  
['Lumiere', 'Localisation', 'Intersection', 'Méteo', 'TypeColision', 'Route', 'Circulation', 'profil', 'Tracé', 'Surface', 'Infrastructure', 'situation', 'UsagerType', 'Sexe', 'trajet', 'secu', 'age', 'Mois']
nous avont pu prédit le type d accident avec une accuracy de : 0.7599115549614959
Out[42]:
<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x2d1d9155b50>

5. Conclusions